package io.sdph.order.dao;

import io.sdph.documents.model.Invoice;
import io.sdph.order.model.Order;
import io.sdph.products.model.Product;
import io.sdph.userprofile.model.User;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderManagerDAO {

    public Order order( Map<Product, Long> products,  Map<String, String> properties ,  Invoice invoice);
    public boolean cancelOrder(Order order);
    public boolean cancelOrder(String orderId);
    public List<Order> getUserOrders(User user);
    public List<Order> getUserOrderHistory(User user, Date dateFrom, Date dateTo);
    // TODO
    public Order getOrder(String orderId);
    
    public void fill(Order order);
}
